iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
AI/ ML & Data

資料科學的小筆記系列 第 21

Day21:使用dplyr進行嵌套連接(Nest Join)

  • 分享至 

  • xImage
  •  

今天要紀錄用dplyr進行嵌套連接(Nest Join):

nest_join()將一個資料表的匹配結果嵌套成另一個資料表的新列。這樣可以在不展開整個資料表的情況下,保留每個匹配的完整訊息。

建立範例資料

library(dplyr)

# 建立表格 x
x <- tribble(
  ~A,  ~B, ~C,
  "a", "t",  1,
  "b", "u",  2,
  "c", "v",  3
)

# 建立表格 y
y <- tribble(
  ~A,  ~B, ~D,
  "a", "t",  3,
  "b", "u",  2,
  "d", "w",  1
)

將 y 資料表的匹配結果嵌套在 x 資料表中

# 使用 nest_join 將 y 的匹配結果嵌套在 x 中
nested_result <- nest_join(x, y, by = c("A", "B"), name = "nested_data")

# 查看結果
print(nested_result)

https://ithelp.ithome.com.tw/upload/images/20240901/201686073aD3HnXz7L.png

nested_data欄位屬於list格式

查看嵌套的資料內容

library(tidyr)
library(purrr)

# 查看嵌套的資料內容
nested_result %>% 
  mutate(nested_data = map(nested_data, as_tibble)) %>% 
  unnest(nested_data)

https://ithelp.ithome.com.tw/upload/images/20240901/20168607Bzh1ruOgIq.png

參考資料:

  1. Data transformation with dplyr :: Cheatsheet

上一篇
Day20:使用dplyr進行篩選資料列
下一篇
Day22:感冒,之後補QQ
系列文
資料科學的小筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言